草庐IT

Spring 依赖注入

全部标签

c++ - 在注入(inject)另一个进程时控制 dllmain() 调用的顺序

有没有办法以某种方式控制DLL的加载顺序?这主要与存在于DllMain()函数中时必须遵守的限制有关。BOOLWINAPIDllMain(HINSTANCEhinstDLL,DWORDfdwReason,LPVOIDlpReserved){switch(fdwReason){caseDLL_PROCESS_ATTACH:{SHGetKnownFolderPath()}caseDLL_PROCESS_DETACH:{DllMainProcessDetach(hinstDLL,lpReserved);returnTRUE;}default:break;}returnTRUE;}在那个特定的

windows - 依赖进程创建的执行异常(ShellExecute vs CreateProcess)

我们正在运行一个Windows服务,它负责监视一组进程。该服务基本上只负责(a)检查定义的作业是否正在运行,以及(b)如果未运行则启Action业。服务是通过以下命令创建的(sc:https://technet.microsoft.com/en-us/library/bb490995.aspx):sccreate"MyService"binPath=C:\heyoo\myservice.exetype=ownstart=autoerror=normalscstart"SCFService"该服务负责创建的作业之一是“Camera.exe”。Camera.exe从连接的摄像头(FireW

c# - SetWindowsHookEx 将 32 位 DLL 注入(inject) 64 位进程,反之亦然

我一直在开发一个需要监控另一个进程上的线程特定鼠标事件(WH_MOUSE)的应用程序,遇到了一些非常奇怪的事情.在发现thisisnotpossibleviaexclusivelymanagedcode之后如果我不想使用WH_MOUSE_LL并且我需要一个nativeDLL导出以将其自身注入(inject)到目标进程中,我会根据我能找到的零散文档在C++中着手创建它在这个主题上,然后尝试使用它连接到记事本。虽然根据GetLastWin32Error注入(inject)成功,我没有收到鼠标事件的通知。在几乎放弃并选择低级全局Hook选项后,我重新阅读了thisarticle的“备注”部分

c++ - std::string 连接的运行时依赖

std::stringsAttr("");sAttr=sAttr+VAL_TAG_OPEN+sVal->c_str()+VAL_TAG_CLOSE;我定义的代码中的其他地方constcharVAL_TAG_OPEN[]="";sVal是一个从字符串指针数组中检索的变量。这在大多数系统、windows和linux中都可以正常工作。然而,在一个客户站点,我相信有一个我们已经进行了广泛测试的linux版本,产生的结果就好像我从未使用过VAL_TAG_OPEN和VAL_TAG_CLOSE。我收到的结果是为了sAttr=sAttr+sVal->c_str();发生了什么事?std::string

c++ - 如何在不注入(inject)任何 DLL 的情况下单击窗口时返回窗口句柄?

对于我的一个项目,我需要创建一个函数,当用户单击窗口(屏幕上显示的任何窗口,以及该窗口内的任何位置)时,该函数将返回一个窗口的句柄。我知道可以使用全局Hook,但我认为必须有一种更简单的方法,无需使用任何DLL注入(inject)。事实上,我可以在激活窗口时拦截鼠标左键单击或拦截。我可以在没有任何DLL注入(inject)的情况下使用这两种解决方案中的一种吗? 最佳答案 你可以使用LowLevelMouseProchook拦截点击,然后使用WindowFromPoint来确定窗口。(我还没有真正尝试过这个。)

c++ - 将 Ctrl+C 注入(inject)目标进程

我有一个进程,它通过调用SetConsoleCtrlHandler来获得CtrlBreak处理程序。此处理程序监听CTRL_BREAK_EVENT并执行一些操作(不退出)。此进程未附加到控制台。我们称其为目标进程。接下来,我编写了一个单独的程序,它接受一个PID,我想在kernel*!CtrlRoutine的地址启动一个远程线程,以便目标进程的CtrlBreak处理程序是执行,例如:hRemoteThread=CreateRemoteThread(hRemoteProc,NULL,0,(LPTHREAD_START_ROUTINE)dwEntryPoint,(void*)CTRL_BR

windows - 一个依赖几百个文件的原生代码库,如何最方便的部署到Windows Azure?

Thisguide展示了如何使用启动任务机制将由单个.dll文件组成的COM对象部署到WindowsAzure角色。现在我有一个COM对象,它依赖于数百个其他文件-.dll文件(我自己也构建了它们)和它的操作所需的一些二进制数据,这些数据需要部署为目录树。将其包含到角色项目中(就像指南中对单个文件所做的那样)似乎相当愚蠢-这些文件不属于角色功能,相反,角色仅取决于COM对象。如何最方便地将包含COM对象及其所依赖的巨大子树部署到WindowsAzure上? 最佳答案 一种流行的技术是将这些文件存储在blob存储中。两种方法:为您的D

windows - 错误 0xc000007b 尝试绕行注入(inject) DLL 时

我正在尝试使用最新的32位Detours库将DLL注入(inject)新进程。http://research.microsoft.com/en-us/projects/detours/它过去对我有用,但在更改DLL后,它不再对所有进程起作用。当我恢复该过程时,我收到一个消息框,上面写着Theapplicationwasunabletostartcorrectly(0xc000007b).ClickOKtoclosetheapplication.我用注入(inject)的纯空DLL重新创建了它,除了kernel32.dll之外没有任何依赖项。对于其他可执行文件,它可以完美地工作。知道为什

windows - ggplot-s 是否依赖于上一个桌面 session 属性?

我有几个Rscript在远程winXP服务器的任务调度程序上作为计划作业运行,生成一些包含绘图的html页面likethisone.另见thisrelatedquestion.我注意到,当我在本地连接并运行作业时,绘图没问题。因此,当作业自行运行时(但前提是我上次登录是在本地完成的)。但是,如果我最后一次登录-在作业执行之前-通过远程桌面连接(16位颜色质量)-无论我在那个session中做了什么-之后运行的作业不会正确地生成那些图(在html页面中).我说的是像链接中那样带有guide_colorbar()的图。具体来说,图例中的渐变条根本没有出现(我可以看到图例标题、数字、刻度,但

windows - MinGW/MinGW64 链接和依赖于 `msvcrt.dll`

我在MinGW中为WinAPI编码我还没有完全理解的一件事是VC可再发行组件,我有一大堆问题有人说这样的程序需要msvcrt.dllbotc++和c编译需要相同的库吗?这是否适用于所有客户目标?我必须重新分发它吗?我可以重新分配它吗?我可以轻松摆脱这种外部依赖吗?有没有其他编译器可以让我不携带这种不愉快的外部依赖?(我隐约记得听说它有问题-我听说它可能不是核心系统库,或者它不能免费使用和重新分发库)我发现这里有问题,因为我想生成没有依赖性的小exe,只调用系统WinAPI,如果我使用一些像C标准库函数函数我更喜欢它经济和静态编译,而不是任何第三方依赖 最佳答